February 18, 2021
์๋์ css ์ฝ๋์ ์ด๋ฏธ์ง๋ ๋์ผํ ๊ฒฐ๊ณผ์ด๋ค.
.child {
display: flex;
justify-content: center;
align-items: center;
width: 200px;
height: 200px;
background: red;
font-size: 50px;
}
.father {
display: flex;
/* ? Main Axis */
justify-content: space-around;
height: 100vh;
}
display: flex ์ผ ๋, ์ฌ๋ฌ child ๊ฐ ๋๋ํ ์๊ณ ๋์ด๋ ๊ฐ์ผ๋ ๋๋น๊ฐ ์ค์ด๋ค์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ณด๋ค์ํผ ์ค์ ํ width ๊ฐ 200px ์ธ๋ฐ ์ฌ์ง์ ๋ณด๋ฉด ์๋์ง ์์๊ฐ?
flexbox ๋ ๊ฐ๊ฐ์ item ๋ค์ด ๋ชจ๋ ๊ฐ์ ์ค์ ์๋๋ก ์ ์งํด ์ค๋ค. ํ์ง๋ง ๊ทธ ๋๋น๋ ์ง์ ํด ๋ ๋๋น๋ณด๋ค ์ค์ด๋ค๊ฒ ๋ ์ง๋ผ๋ ๋ง์ด๋ค.
flexbox ๋ ์ค๋ก์ง item ๋ค์ด ๊ฐ์ ์ค์ ์๊ฒ ๋ง๋๋ ์ญํ ์ด๋ค.
๊ฐ๊ฐ์ item ๋ค์ width = 200px ์ด๋ผ ์ค์ ํ์ด๋ ์์ฉ์๋ค. ๊ทธ๋ฆผ์ฒ๋ผ ๋ค ๊พธ๊ฒจ์ ธ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋ค ๊นจ์ง๋ค.
๊ทธ๊ฒ์ flex-wrap ์์ฑ์ด ๊ธฐ๋ณธ (default) nowrap ์ผ๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ, flex item ๋ค์ ๋ชจ๋ ๊ฐ์ ์ค์ ์์ด์ผ ํด! ๋ผ๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
๊ทธ๋ผ ์ flex-wrap ์์ฑ์ ๋ฐ๊พธ๋ฉด ๋ฌด์จ ์ผ์ด ์ผ์ด๋ ๋ผ๋?
flex-wrap: wrap ์ child ์ width (๋๋น) ํฌ๊ธฐ๋ฅผ ์ ์งํ๊ฒ ํ๋ค.
๋ธ๋ผ์ฐ์ ํญ์ด ์ค์ด๋ค์๋ก child ๊ฐ ํ๋์ฉ ๋ค์ ์ค๋ก ๋ด๋ ค๊ฐ๊ฒ ๋๋ค.
์ํ.. ์ด๋ฒ์๋ ์ด flex-wrap ์์ฑ์ ์ ์ ์ฃผ์์ฒ๋ฆฌ (flex-wrap: nowrap) ํด ๋๊ณ , flex-direction ์ ์์ ํด ๋ณด์๋ค.
flex-direction: row-reverse ๋ HTML ์ ๊ฑด๋ค์ง ์๊ณ ๋ ๋ฐ์ค์ ๋ฐฉํฅ (์์) ์ ๋ค์ง์ ์ ์๋ค.
flex-direction ์ ๊ธฐ๋ณธ๊ฐ์ row ์ธ ์ ์ ๋ค์ ๋ ์ฌ๋ ค ๋ณด๋ฉด ์ดํด๊ฐ ๋๋ค.
flex-direction: column-reverse ๋ก ํ๋ฉด ์๋ ์ด๋ฏธ์ง ์ ๋ชจ์ต์ด๋ค.
์ด์ ๋ค์ flex-direction ์ ์ฃผ์์ฒ๋ฆฌ ํด ๋์.
flex-wrap: wrap-reverse ๋ฅผ ์ฃผ์์ ๋์ ๋ชจ์ต์ ์๋ ๊ทธ๋ฆผ์ด๋ค.
flex-direction ์ row-reverse ๋ก ์ฃผ๊ณ ๋์์ flex-wrap ์ wrap ์ผ๋ก ์ค ์๋ ๊ทธ๋ฆผ๊ณผ ๋น๊ตํด๋ณด์.
๊ทธ๋ฐ๋ฐ ์ค ์ฌ์ด์ ๊ฐ๊ฒฉ, ๊ณต๋ฐฑ์ ์ด๋ป๊ฒ ์กฐ์ ํ ๊น? ๋๋ฌด ๋จ์ด์ ธ ์์ด์ ์์ ๋ถ์ฌ ๋ณด๊ณ ๋ ์ถ์๋ฐ ๋ง์ด๋ค.
๋ฐ์ค ์์ ์ค๊ณผ ์๋ ์ค์ ์๋ ๋น ๊ณต๊ฐ, line-space ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด ์ค ์ ์์๊น?
์ด ๊ณต๊ฐ์ align-content ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
father ์ flex ๋ฅผ ์ ์ธํ๋ฏ์ด, ๋ง์ฐฌ๊ฐ์ง๋ก align-content: flex-start ๋ก ์ค๋ณด์.
์ ์ค ์๋ซ์ค ์ฌ์ด์ ๋น ๊ณต๊ฐ์ด ์์ด์ ธ ๋ฒ๋ฆฐ๋ค.
center ๋ก ์ฃผ๋๊น ์ ๋ถ ๊ฐ์ด๋ฐ๋ก ์ฎ๊ฒจ์ ธ ๊ฐ๊ธฐ๋ ํ๋ค.
๋๋ space-between, space-around(default) ๋ฑ์ ์จ์ line ๊ฐ๊ฒฉ์ ๋ณ๊ฒฝํ ์๋ ์์๋ค.